/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package message.handler;
import java.util.*;

/**
 *
 * @author antonio
 */

/*
 *  MessageHandlerFactory si occupa di creare l'handler
 *  per i vari tipi di messaggi.
 *  Riceve il tipo di message da creare:
 *
 *  - 1 - POSITION #messaggio info posizione utente
 *  - 2 - QUIT     #messaggio chiusura connessione NS
 *
 *  Restituisce un oggetto handler del tipo richiesto.
 *
 *  - 1 - MessagePositionHandler
 *  - 2 - MessageQuitHandler
 * 
 *  Un handler si occupa dell'effetiva creazione del
 *  message.
 *
 * */
public class MessageHandlerFactory {

    private Hashtable mapHandler = new Hashtable();


    public MessageHandlerFactory()
     {
         addHandlerForType("QUIT", new MessageQuitHandler());
         addHandlerForType("POSITION", new MessagePositionHandler());

     }


    public void addHandlerForType(String type, MessageHandler handler)
     {
         mapHandler.put(type, handler);
     }

    public MessageHandler getHandlerForType(String type)
     {
         MessageHandler h = (MessageHandler) mapHandler.get(type);
         return h;
     }


}
